<?php

/*
 * Servicio_escort DAL.
 * @Autor: Inicial.cl.
 */

class Servicio_escortDAL {

    //METODO PARA GRABAR SERVICIO_ESCORT.
    public static function grabar($oServicio_escort) {
        try {
            $arr = array(
                "{#IDESCORT}" => $oServicio_escort->getIdEscort(),
                "{#IDSERVICIO}" => $oServicio_escort->getIdServicio()
            );
            $query = Util::getQuery($arr, Servicio_escortSQL::$GRABAR_SERVICIO_ESCORT);
            $arrDatos = Bd::exec($query);

            $id = Bd::$IDENTITY; //Retorno id insertado
            return $id;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA EDITAR SERVICIO_ESCORT.
    public static function editar($oServicio_escort) {
        try {
            $arr = array(
                "{#IDESCORT}" => $oServicio_escort->getIdEscort(),
                "{#IDSERVICIO}" => $oServicio_escort->getIdServicio()
            );
            $query = Util::getQuery($arr, Servicio_escortSQL::$EDITAR_SERVICIO_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA LISTAR SERVICIO_ESCORT.
    public static function listar($oServicio_escort) {
        try {
            $arr = array("{#IDESCORT}" => $oServicio_escort->getIdEscort());
            $query = Util::getQuery($arr, Servicio_escortSQL::$LISTAR_SERVICIO_ESCORT);
            $arrDatos = Bd::exec($query);
            $arrServicio_escort = array();

            if (count($arrDatos) > 0) {
                foreach ($arrDatos as $row) {
                    $oServicio_escort = new Servicio_escort();

                    $oServicio_escort->setIdEscort($row["idEscort"]);
                    $oServicio_escort->setIdServicio($row["idServicio"]);
                    $oServicio_escort->setServicio($row["servicio"]);

                    $arrServicio_escort[] = $oServicio_escort;
                }
            }

            return $arrServicio_escort;
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }
    
    //METODO PARA OBTENER POR ID SERVICIO_ESCORT.
    public static function obtenerPorId($id) {
        try {
            $arr = array(
                "{#ID}" => $id
            );
            $query = Util::getQuery($arr, Servicio_escortSQL::$OBTENER_SERVICIO_ESCORT_POR_ID);
            $arrDatos = Bd::exec($query);

            if (count($arrDatos) > 0) {
                $oServicio_escort = new Servicio_escort();

                foreach ($arrDatos as $row) {
                    $oServicio_escort->setIdEscort($row["idEscort"]);
                    $oServicio_escort->setIdServicio($row["idServicio"]);
                }
                return $oServicio_escort;
            }
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

    //METODO PARA ELIMINAR SERVICIO_ESCORT.
    public static function eliminar($id) {
        try {
            $arr = array("{#ID}" => $id);
            $query = Util::getQuery($arr, Servicio_escortSQL::$ELIMINAR_SERVICIO_ESCORT);
            $arrDatos = Bd::exec($query);
        } catch (Excepcion $e) {
            throw new Exception($e->getMessage());
        }
    }

}

?>